Pointers to functions |
A pointer to a function allows passing a function to another function. You need to include <functional> to use pointers to functions. Un puntero a una función permite pasar una función a otra función. Usted necesita incluir <functional> para usar los punteros a las funciones. |
Problem 1 |
Create a Dialog Application called Heaven to test pointers to functions. Cree una Aplicación de Diálogo llamada Heaven para probar los punteros a las funciones. |
Heaven.h |
#pragma once //______________________________________ Heaven.h #include "Resource.h" #include <functional> class Heaven: public Win::Dialog { public: Heaven() { } ~Heaven() { } static double CreateCode(int a, int b); double Evaluate(double x, double y, std::function<double(int, int)> fcn); . . . }; |
Heaven.cpp |
. . . void Heaven::Window_Open(Win::Event& e) { double result = Evaluate(1.0, 2.0, &Heaven::CreateCode); this->MessageBox(Sys::Convert::ToString(result), L"Heaven", MB_OK); } double Heaven::CreateCode(int a, int b) { return 2.0*a + 3.0*b; } double Heaven::Evaluate(double x, double y, std::function<double(int, int)> fcn) { const int a = (int)x; const int b = (int)y; const double c = fcn(a, b); return c + 1.0; } |